package com.woniuxy.service;


import com.woniuxy.pojo.User;
import com.woniuxy.util.DataGridView;
import com.woniuxy.util.TreeNode;
import com.woniuxy.vo.UserVo;

import java.util.List;
import java.util.Set;


public interface UserService {
    public List<User> findAllUsers();

    /**
     * 登录方法
     * @param phone
     * @param lpass
     * @return
     */
    public User login(String phone, String lpass);

    /**
     * 通过手机号码查询用户对象
     * @param phone
     * @return
     */

    public User findUserByTel(String phone);

    /**
     * 增加用户
     * @param user
     * @return
     */
    public boolean addUser(User user);

    /**
     * 通过用户id查询角色集合
     * @param usid
     * @return
     */
    public Set<String> selectRoleNamesByUsid(int usid);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    public int updateUser(User user);

    /**
     * 通过用户id查询菜单名称集合
     * @param usid
     * @return
     */
    public Set<String> selectUrlsByUsid(int usid);

    /**
     * 通过用户id获取用户的菜单，用于后台首页的左侧的动态菜单的生成
     * @param usid
     * @return
     */
    public List<TreeNode> selectMenusByUsid(int usid);

    /**
     * 组合分页查询
     * @param userVo
     * @return
     */
    public DataGridView selectUsersByPage(UserVo userVo);

    /**
     * 删除用户信息
     * @param id
     */
    public void removeUserById(int id);

    /**
     * 批量删除用户
     * @param ids
     */
    public void removeBatchUser(Integer[] ids);

    /**
     * 分配角色
     * @param usid
     * @param rids
     */
    public void grantRole(int usid, int[] rids);

    public User selectUserById(int id);

    public User selectUserByRname(String rname);

    public int changePassword(String rname,String lpass);

}
